﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using Do_an_C_sharp.DAL;
using Do_an_C_sharp.BLL;
namespace Do_an_C_sharp.GUI
{
    public partial class NhaCungCapGUI : Form
    {
        NhaCungCapController NHACUNGCAP = new NhaCungCapController();
        public NhaCungCapGUI()
        {
            InitializeComponent();
        }

        public bool checkinfo()
        {
            foreach (Control ctr in groupBox1.Controls)
            {
                if (ctr.Text == "")
                {
                    MessageBox.Show("Vui lòng điền đầy đủ thông tin!!!");
                    return false;
                }
                if(ctr.Name=="txtDienthoai")
                if (ctr.Text.Length > 11 || ctr.Text.Length < 9)
                {
                    MessageBox.Show("Điện thoại phải dài từ 9 đến 11 kí tự!!!!!!!!");
                    return false;
                }
                if (ctr.Text.Length > 50)
                {
                    MessageBox.Show("Dữ liệu nhập vào không được dài quá 50 kí tự!!!!!!!!");
                    return false;
                }
            }
            return true;
        }

        private void capnhat()
        {
            NHACUNGCAP.luu();
            dataGridView1.DataSource = NHACUNGCAP.laykhach();
        }
        private void disable(bool check)
        {
            btnTimkiem.Enabled = btnXoa.Enabled = btnSua.Enabled = check;
        }

        private void NhaCungCap_Load(object sender, EventArgs e)
        {
            capnhat();
            txtMancc.Enabled = false;
        }

        private void btnThoat_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnTimkiem_Click(object sender, EventArgs e)
        {
            string key = uCtimkiem1.tratri();
            if (uCtimkiem1.isTimtheoma())
            {
                if (NHACUNGCAP.timelement(key) != null)
                {
                    dataGridView1.DataSource = NHACUNGCAP.timma(key);
                }
                else
                    MessageBox.Show("Không tìm thấy");
            }
            else
            {
                dataGridView1.DataSource = NHACUNGCAP.timten(key);
            }
        }

        private void btnReload_Click(object sender, EventArgs e)
        {
            disable(true);
            capnhat();
            btnThem.Text = "Thêm";
        }

        private void btnThem_Click(object sender, EventArgs e)
        {
            if (btnThem.Text == "Thêm")
            {
                txtMancc.Enabled = true;
                txtDiachi.Text = txtDienthoai.Text = txtEmail.Text = txtMancc.Text = txtTenncc.Text = "";
                btnThem.Text = "Cập nhật";
                disable(false);
            }
            else
            {
                if (NHACUNGCAP.timelement(txtMancc.Text.Trim()) != null)
                {
                    MessageBox.Show("Nhà cung cấp này đã tồn tại");
                }
                else
                {
                    if (checkinfo())
                    {
                        NHACUNGCAP.them(txtMancc.Text.Trim(), txtTenncc.Text, txtDiachi.Text, txtDienthoai.Text, txtEmail.Text);
                        txtMancc.Enabled = false;
                        MessageBox.Show("Thêm thành công");
                        capnhat();
                        btnThem.Text = "Thêm";
                        disable(true);
                    }
                }
            }
        }

        private void dataGridView1_RowEnter(object sender, DataGridViewCellEventArgs e)
        {
            int dong = e.RowIndex;
            string ma = dataGridView1.Rows[dong].Cells["MANHACUNGCAP"].Value.ToString();
            NhaCungCap nv = NHACUNGCAP.timelement(ma);
            txtDiachi.Text = nv.DIACHI;
            txtDienthoai.Text = nv.DIENTHOAI;
            txtEmail.Text = nv.EMAIL;
            txtMancc.Text = nv.MANHACUNGCAP;
            txtTenncc.Text = nv.TENNHACUNGCAP;
        }

        private void btnXoa_Click(object sender, EventArgs e)
        {
            DialogResult kt;
            if ((kt = MessageBox.Show("Bạn chắc chắn muốn xóa nhân viên này?", "Xác nhận", MessageBoxButtons.OKCancel, MessageBoxIcon.Question)) == DialogResult.OK)
            {
                NHACUNGCAP.xoa(txtMancc.Text.Trim());
                capnhat();
            }
        }

        private void btnSua_Click(object sender, EventArgs e)
        {
            if (checkinfo())
            {
                if (NHACUNGCAP.sua(txtMancc.Text, txtTenncc.Text, txtDiachi.Text, txtDienthoai.Text, txtEmail.Text))
                {
                    MessageBox.Show("Sửa thành công");
                    capnhat();
                }
                else
                    MessageBox.Show("Thất bại vì lỗi update sql");
            }
        }

        private void txtDienthoai_KeyPress(object sender, KeyPressEventArgs e)
        {
            char c = e.KeyChar;
            if (!char.IsDigit(c))
                if (c != '\b')
                    e.Handled = true;
        }
    }
}
